from passlib.context import CryptContext
from sqlalchemy.orm import Session

from models.user_models import Account

# 使用 bcrypt 算法
pwd_context = CryptContext(schemes=["bcrypt"], deprecated="auto")

# 加密密码（注册时使用）
def hash_password(password: str) -> str:
    return pwd_context.hash(password)

# 验证密码（登录时使用）
def verify_password(plain_password: str, hashed_password: str) -> bool:
    return pwd_context.verify(plain_password, hashed_password)


# 一次性的，把原来的密码换为加盐后的密码
# def update_all_passwords(db: Session):
#     accounts=db.query(Account).all()
#     for account in accounts:
#         # 使用盐值加密密码
#         hashed_password = hash_password(account.password)
#
#         # 更新密码字段
#         account.password_hash = hashed_password
#         #account.password = None  # 删除原始的明文密码
#
#     # 提交更改
#     db.commit()
#     return {"message": "Passwords updated successfully!"}
